package com.sxit.myproscenium.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author wcn
 * @since 2022-04-10
 */
@TableName("sys_order")
@Schema(name = "Order对象", description = "")
public class Order implements Serializable {

  private static final long serialVersionUID = 1L;

  @Schema(description = "订单id")
  @TableId(value = "order_id", type = IdType.AUTO)
  private Long orderId;

  @Schema(description = "订单的发起人编号")
  private Long ownder;

  @Schema(description = "总价钱")
  private BigDecimal allPrice;

  @Schema(description = "货物的编码列")
  private String goodsList;

  @Schema(description = "配送地址编号")
  private Long addressId;

  @Schema(description = "配送费")
  private BigDecimal expressPrice;

  @Schema(description = "订单的状态 0创建成功 1 用户支付成功 2 用户支付失败 3商家接单  4骑手接单 5配送中 6 送达 7 配送失败   ")
  private Integer orderStatus;

  @Schema(description = "备注")
  private String remark;

  @Schema(description = "骑手编号")
  private Long expressId;

  @Schema(description = "商家备注")
  private String businessRemark;

  @Schema(description = "创建时间")
  private LocalDateTime createTime;

  @Schema(description = "更新时间")
  private LocalDateTime updateTime;

  public Long getOrderId() {
    return orderId;
  }

  public void setOrderId(Long orderId) {
    this.orderId = orderId;
  }

  public Long getOwnder() {
    return ownder;
  }

  public void setOwnder(Long ownder) {
    this.ownder = ownder;
  }

  public BigDecimal getAllPrice() {
    return allPrice;
  }

  public void setAllPrice(BigDecimal allPrice) {
    this.allPrice = allPrice;
  }

  public String getGoodsList() {
    return goodsList;
  }

  public void setGoodsList(String goodsList) {
    this.goodsList = goodsList;
  }

  public Long getAddressId() {
    return addressId;
  }

  public void setAddressId(Long addressId) {
    this.addressId = addressId;
  }

  public BigDecimal getExpressPrice() {
    return expressPrice;
  }

  public void setExpressPrice(BigDecimal expressPrice) {
    this.expressPrice = expressPrice;
  }

  public Integer getOrderStatus() {
    return orderStatus;
  }

  public void setOrderStatus(Integer orderStatus) {
    this.orderStatus = orderStatus;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }

  public Long getExpressId() {
    return expressId;
  }

  public void setExpressId(Long expressId) {
    this.expressId = expressId;
  }

  public String getBusinessRemark() {
    return businessRemark;
  }

  public void setBusinessRemark(String businessRemark) {
    this.businessRemark = businessRemark;
  }

  public LocalDateTime getCreateTime() {
    return createTime;
  }

  public void setCreateTime(LocalDateTime createTime) {
    this.createTime = createTime;
  }

  public LocalDateTime getUpdateTime() {
    return updateTime;
  }

  public void setUpdateTime(LocalDateTime updateTime) {
    this.updateTime = updateTime;
  }

  @Override
  public String toString() {
    return "Order{"
        + "orderId="
        + orderId
        + ", ownder="
        + ownder
        + ", allPrice="
        + allPrice
        + ", goodsList="
        + goodsList
        + ", addressId="
        + addressId
        + ", expressPrice="
        + expressPrice
        + ", orderStatus="
        + orderStatus
        + ", remark="
        + remark
        + ", expressId="
        + expressId
        + ", businessRemark="
        + businessRemark
        + ", createTime="
        + createTime
        + ", updateTime="
        + updateTime
        + "}";
  }
}
